#============================================================
#	Ground Enemy Look Around
#============================================================
#  四处观望是否有敌人
#============================================================
# @datetime: 2022-5-12 00:44:03
#============================================================
extends GroundEnemyBase


export var interval_time_min : float = 0.5
export var interval_time_max : float = 1.0
export var turn_count_min : int = 2
export var turn_count_max : int = 3


var _timer : Timer = create_timer(0.5)
var _turn_count: int = 0
var _turn_count_max : int = 0


#============================================================
#   内置
#============================================================
func _ready():
	_timer.connect("timeout", self, "_turn")


#============================================================
#   状态
#============================================================
#(override)
func enter():
	_turn_count = 0
	_turn_count_max = int(rand_range(turn_count_min, turn_count_max + 1))
	_timer.start(rand_range(interval_time_min, interval_time_max))


#(override)
func exit():
	_timer.stop()


#(override)
func state_process(_arg0):
	if has_player():
		switch_to(GroundEnemyStateBlackboard.States.ATTACK)


##  转向
func _turn():
	change_direction()
	_turn_count += 1
	if _turn_count >= _turn_count_max:
		if randf() < 0.5:
			switch_to(GroundEnemyStateBlackboard.States.IDLE)
		else:
			# 向前移动 200 
			get_blackboard().set_data('move_to', 
				get_move_controller().get_direction() * 200
			)
			switch_to(GroundEnemyStateBlackboard.States.MOVE)
	
	else:
		_timer.start(rand_range(interval_time_min, interval_time_max))

